package com.engineering.elink.service;

import java.util.Map;

import com.engineering.elink.co.SkillCo;
import com.zxy.core.co.BaseCo;

/**
 * 
 * 工程技能业务操作接口
 * 
 * ClassName: SkillService <br/> 
 * Function: ADD FUNCTION. <br/> 
 * Reason: ADD REASON(可选). <br/> 
 * date: 2016年10月26日 下午6:22:23 <br/> 
 * 
 * @author zengxinyan 
 * @version  
 * @since JDK 1.8
 */
public interface SkillService {

	/**
	 * 
	 * 获取6条热词
	 * 
	 * getKeyWord:(这里用一句话描述这个方法的作用). <br/> 
	 * (这里描述这个方法适用条件 – 可选).<br/> 
	 * (这里描述这个方法的执行流程 – 可选).<br/> 
	 * (这里描述这个方法的使用方法 – 可选).<br/> 
	 * (这里描述这个方法的注意事项 – 可选).<br/> 
	 * 
	 * @author zengxinyan 
	 * @param count
	 * @return 
	 * @since JDK 1.8
	 */
	Map<String, Object> getKeyWord(int count);
	
	/**
	 * 获取工程技能列表
	 * 
	 * getSkillsList:(这里用一句话描述这个方法的作用). <br/> 
	 * (这里描述这个方法适用条件 – 可选).<br/> 
	 * (这里描述这个方法的执行流程 – 可选).<br/> 
	 * (这里描述这个方法的使用方法 – 可选).<br/> 
	 * (这里描述这个方法的注意事项 – 可选).<br/> 
	 * 
	 * @author zengxinyan 
	 * @param co
	 * @return 
	 * @since JDK 1.8
	 */
	Map<String,Object> getSkillsList(SkillCo co,Integer count);
	
	/**
	 * 
	 * 下载排行
	 * 
	 * getDownLoadRank:(这里用一句话描述这个方法的作用). <br/> 
	 * (这里描述这个方法适用条件 – 可选).<br/> 
	 * (这里描述这个方法的执行流程 – 可选).<br/> 
	 * (这里描述这个方法的使用方法 – 可选).<br/> 
	 * (这里描述这个方法的注意事项 – 可选).<br/> 
	 * 
	 * @author zengxinyan 
	 * @param count
	 * @return 
	 * @since JDK 1.8
	 */
	Map<String, Object> getDownLoadRank(int count);
	
	/**
	 * 
	 * 技能详情
	 * 
	 * get:(这里用一句话描述这个方法的作用). <br/> 
	 * (这里描述这个方法适用条件 – 可选).<br/> 
	 * (这里描述这个方法的执行流程 – 可选).<br/> 
	 * (这里描述这个方法的使用方法 – 可选).<br/> 
	 * (这里描述这个方法的注意事项 – 可选).<br/> 
	 * 
	 * @author zengxinyan 
	 * @param skillId
	 * @param userId
	 * @return 
	 * @since JDK 1.8
	 */
	Map<String, Object> get(Integer skillId,String userId);
	
	/**
	 * 单个技能资料
	 * 
	 * getSigleSkillFile:(这里用一句话描述这个方法的作用). <br/> 
	 * (这里描述这个方法适用条件 – 可选).<br/> 
	 * (这里描述这个方法的执行流程 – 可选).<br/> 
	 * (这里描述这个方法的使用方法 – 可选).<br/> 
	 * (这里描述这个方法的注意事项 – 可选).<br/> 
	 * 
	 * @author zengxinyan 
	 * @param skillId
	 * @param count
	 * @return 
	 * @since JDK 1.8
	 */
	Map<String, Object> getSigleSkillFile(int skillId,int count);
	
	/**
	 * 单个技能视频
	 * 
	 * getSigleSkillVideo:(这里用一句话描述这个方法的作用). <br/> 
	 * (这里描述这个方法适用条件 – 可选).<br/> 
	 * (这里描述这个方法的执行流程 – 可选).<br/> 
	 * (这里描述这个方法的使用方法 – 可选).<br/> 
	 * (这里描述这个方法的注意事项 – 可选).<br/> 
	 * 
	 * @author zengxinyan 
	 * @param skillId
	 * @param count
	 * @return 
	 * @since JDK 1.8
	 */
	Map<String, Object> getSigleSkillVideo(int skillId,int count);
	
	/**
	 * 相关资料
	 * 
	 * getSameSkillFile:(这里用一句话描述这个方法的作用). <br/> 
	 * (这里描述这个方法适用条件 – 可选).<br/> 
	 * (这里描述这个方法的执行流程 – 可选).<br/> 
	 * (这里描述这个方法的使用方法 – 可选).<br/> 
	 * (这里描述这个方法的注意事项 – 可选).<br/> 
	 * 
	 * @author zengxinyan 
	 * @param skillId
	 * @param count
	 * @return 
	 * @since JDK 1.8
	 */
	Map<String, Object> getSameSkillFile(int skillId,int count);
	
	/**
	 * 获取工程技能体系
	 * 
	 * getEnginSkillFile:(这里用一句话描述这个方法的作用). <br/> 
	 * (这里描述这个方法适用条件 – 可选).<br/> 
	 * (这里描述这个方法的执行流程 – 可选).<br/> 
	 * (这里描述这个方法的使用方法 – 可选).<br/> 
	 * (这里描述这个方法的注意事项 – 可选).<br/> 
	 * 
	 * @author zengxinyan 
	 * @param tcId
	 * @param count
	 * @return 
	 * @since JDK 1.8
	 */
	Map<String,Object> getEnginSkillFile(Integer tcId,Integer count);
	
	
	Map<String, Object> getSameSkill(BaseCo co,Integer skillId);
	
}
